package o;

public abstract class gbc<E> {
    static final /* synthetic */ boolean ˋ = (!gbc.class.desiredAssertionStatus());
    private int ˊ;
    private final Object[] ˎ;
    private final Object[] ˏ;
    private final int ॱ;

    protected abstract E ˎ();

    public gbc(int i, int i2) {
        this.ॱ = i;
        this.ˏ = new Object[i];
        for (int i3 = 0; i3 < i; i3++) {
            this.ˏ[i3] = ˎ();
        }
        this.ˊ = 0;
        this.ˎ = new Object[i2];
    }

    public final E ॱॱ() {
        if (ˋ || this.ˊ < this.ॱ) {
            Object[] objArr = this.ˏ;
            int i = this.ˊ;
            this.ˊ = i + 1;
            return objArr[i];
        }
        throw new AssertionError("End of stack reached, there is probably a leak somewhere");
    }

    public final void ˎ(int i) {
        this.ˊ -= i;
        if (!ˋ && this.ˊ < 0) {
            throw new AssertionError("Beginning of stack reached, push/pops are unmatched");
        }
    }
}
